<?xml version="1.0" encoding="UTF-8"?>
<GenerateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaModel_Module.xsd">
  <PythonExport
      Father="PersistencePy"
      Name="PathPy"
      Twin="Toolpath"
      TwinPointer="Toolpath"
      Include="Mod/CAM/App/Path.h"
      Namespace="Path"
      FatherInclude="Base/PersistencePy.h"
      FatherNamespace="Base"
      Constructor="true"
      Delete="true">
    <Documentation>
      <Author Licence="LGPL" Name="Yorik van Havre" EMail="yorik@uncreated.net" />
      <UserDocu>Path([commands]): Represents a basic Gcode path
commands (optional) is a list of Path commands</UserDocu>
    </Documentation>
        <Attribute Name="Length" ReadOnly="true">
            <Documentation>
                <UserDocu>the total length of this path in mm</UserDocu>
            </Documentation>
            <Parameter Name="Length" Type="Float"/>
        </Attribute>
        <Attribute Name="Size" ReadOnly="true">
            <Documentation>
                <UserDocu>the number of commands in this path</UserDocu>
            </Documentation>
            <Parameter Name="Size" Type="Long"/>
        </Attribute>
        <Attribute Name="Commands" ReadOnly="false">
            <Documentation>
                <UserDocu>the list of commands of this path</UserDocu>
            </Documentation>
            <Parameter Name="Commands" Type="List"/>
        </Attribute>
        <Attribute Name="Center" ReadOnly="false">
            <Documentation>
                <UserDocu>the center position for all rotational parameters</UserDocu>
            </Documentation>
            <Parameter Name="Center" Type="Object"/>
        </Attribute>
        <Attribute Name="BoundBox" ReadOnly="true">
            <Documentation>
                <UserDocu>the extent of this path</UserDocu>
            </Documentation>
            <Parameter Name="BoundBox" Type="Object"/>
        </Attribute>
        <Methode Name="addCommands">
            <Documentation>
                <UserDocu>adds a command or a list of commands at the end of the path</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="insertCommand">
            <Documentation>
                <UserDocu>insertCommand(Command,[int]):
adds a command at the given position or at the end of the path</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="deleteCommand">
            <Documentation>
                <UserDocu>deleteCommand([int]):
deletes the command found at the given position or from the end of the path</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="setFromGCode">
            <Documentation>
                <UserDocu>sets the contents of the path from a gcode string</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="toGCode" Const="true">
            <Documentation>
                <UserDocu>returns a gcode string representing the path</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="copy" Const="true">
            <Documentation>
                <UserDocu>returns a copy of this path</UserDocu>
            </Documentation>
        </Methode>
        <Methode Name="getCycleTime" Const="true">
            <Documentation>
                <UserDocu>return the cycle time estimation for this path in s</UserDocu>
            </Documentation>
        </Methode>
        <!--<ClassDeclarations>
            bool touched;
        </ClassDeclarations>-->

  </PythonExport>
</GenerateModel>
